added navigation class
moved implementation of the 1st person camera into a separate file
added free navigation mode