Finalize window building API

- [x] Unify `WindowBuilder` and `HeadlessRendererBuilder` to avoid having to deal with conditionnal compilation.
- [x] Add `build_strict` in addition to `build`. `build_strict` returns an `Err` if the backend couldn't give the requested parameters, while `build` only *tries* to match the parameters. `build_strict` can still succeed by giving you better than what you requested.
- [x] Add `with_depth_buffer(bits: u8)`
- [x] Add `with_stencil_buffer(bits: u8)`
- [x] Add `with_pixel_format(color_bits: u8, alpha_bits: u8)`
- [x] Add `with_stereoscopy()`

Note that this doesn't really *finalize* the builder, but it adds many important missing functions.