Refactor, extract EditController in rotomap-edit
Refactor, extract EditController in rotomap-edit

Split out the core controls from that which are for purely editing, so
that we can later introduce debugging modes and other things. This move
towards consolition should reduce the friction from switching GUI apps.
It should also reduce repeats of previous mistakes where not all GUI
apps have been tested after a GUI change, as they're so uncommonly
used.

Test Plan:
$ ./meta/run_tests.sh
.. 'rotomap-edit', move, follow, zoom around ..

aevri/mel,aevri/mel