Add framebuffer object and monitor object

This implements the framebuffer and monitor object
Is there a point why this is not embedded in the `ws_monitor` type?