Add framebuffer object and monitor object

This implements the framebuffer and monitor object
`O_CLOEXEC` is linux only, isn't it?