barebones, copy/paste from view3d_fly.c
FPS: limit the camera vertical lookup by defines

FPS_TOP_LIMIT
FPS_BOTTOM_LIMIT

It could eventually become a User Preference setting.
fps: vertical rotation, still need some dumping
fps: ZENON Rotation Dumping system

http://en.wikipedia.org/wiki/Zeno%27s_paradoxes
fps: use a damp factor to control the rotation damping
fps: better control, it's working for up angles only though
fps: fix perpetual movement when window dimension is not even
fps: all working for vertical looking around
fps: rotation in x also working (though both have a bug)
fps: rotation (x and y) finally working 100%

though ... I have to clamp the rotation, not sure why
fps: print cleanup
fps: add comment
fps: WASD and rotation working

(no follow ground available yet)