Split linking and annotation controllers/views into their own module.

The models are still needed for core functionality at the moment, so
they remain in core.