Add framebuffer object and monitor object

This implements the framebuffer and monitor object
The cmp  call should return -1, 0 or 1, not 1/0 true/false!