Most of this code is certainly not by me, but I couldn't find such
patch, and I tought it could be useful to have around.

Surf starts in 'normal' mode, where all your keybindings have effect
with and without pressing the modkey, e.g. both 'j' and '^j' scroll down
a line.

Pressing 'i' in 'normal mode' brings you to 'insert mode', where your
keybindings take effect only when modkey is pressed. Without modkey,
keypress come through and are being processed by the engine (by the
website), so you can write to text elements or control an web
application.