Initial pass at mouse controlled camera functionality.  This isn't the final implementation as it is a bit weird to use, but it will work for now.