[WIP] Make MultiOutputFrameBuffer usable

- [x] Split `Surface` between `Surface` and `Framebuffer` ; everything goes in `Framebuffer` except what is related to having a single color buffer.
- [ ] Implement `Framebuffer` for `MultiOutputFrameBuffer`.
- [ ] Add tests