ARROW KEY NAVIGATION! Seriously overhauled and tested url loading

Additionally re-worked how a number of internal features work and
flagged (both mentally and in comments) some code to re-factor.
Next up will be commenting how a lot of the funky methods work and
seeing if I can’t just tidy the whole thing up a bit
Merge branch 'master' into gh-pages