Finally got around to making Camera something useful

Add smoothing to camera
Optional rounding
Zoom is a property (with both get/set)
Added more documentation