Zooming in & out using scroll wheel

Also contains some changes to mouse and camera logic. 
This is a solution to #157