TP Controller corrections 2

Created multiple movement states, added checks for camera collision and
occlusion