Proper chunk area loading and refactoring

- Chunks around the player properly load with variable range
- Added unit test support for NUnit
- Changed all Vector classes back to structs, has some code duplication
but avoids ugly reference problems
- Camera can now move around independently or follow the player
- Fixed mouse binding support and added Zoom by mouse wheel (not
actually functional yet)