Pull horizontal/vertical ability up to abstracted

Previously only KeyboardLocationController had the ability to
setVerticalEnabled and setHorizontalEnabled, but this should work for
all AbstractLocRotControllers; pulled up.
Created an abstract builder for controllers
Added builder classes for the controllers

Added one for each of the four concrete subclasses of
AbstractLocRotController