Removed most magic numbers, added comments, other minor changes

updated constructor from source code, name was not correct, added
parameters which can be passed to the camera to control behaviour.
Camera does not auto correct position when zooming out beyond the
boundaries.
error checking stops this from becoming worse, but need to auto correct
cameras position as it zooms, if the zoom moves it outside of game
world.