Partial port from vgstation.
Notable differences:
handle_regular_hud_updates() is called anytime view is reset, instead of
just from the cancel camera verb. check_eye() now returns the vision
flags to be set on the viewer. Moved cameraFollow to silicon. Camera
consoles now call reset_view explicitly when they want to change a mob's
view, instead of leaving it as a side effect of check_eye()