In regard to "replace webkit with something sane" from the TODO.md fileincluded within surf. I'm not sure if you all are aware of this: https://github.com/SteveDeFacto/zsurf Little abandoned project in the vein of surf, but using webengine backend.
I'm a huge fan of Suckless. Use dwm, dmenu, and st daily. Webkit is all that stops me from using surf. I work in web development and sadly most websites are optimised for use with webengine/blink. I know virtually nothing about C and such. Yet I am easily able to configure every suckless tool/utility. This is no doubt due to extensive documentation and logical configuration. It's also nice having my config baked into the source code, as a fork. Versus having to keep track of config files. Nor do I have to worry about pacman updating the software to be incompatible with my configurations. Anyway, thought I'd float this out to you guys. Might be a good starting point for surf with a webengine backend. -Jesse Limerick