Add damage support to bbulk renderer
The bbulk renderer draws the full frame each time something change, which is very slow. It's not that hard to look at what was drawn, and only redraw what has changed.
The only challenge are the double-width character, and those that overflow.
But in order to do that I need to clean the display pipeline.
Currently there are 4 renderer and 3 video backend:
text renderer:
- bblit
- bbulk
- gltex
- pixman
Video backend:
- fbdev
- drm2d
- drm3d
pixman is experimental and mostly unused, so can be removed. bblit and bbulk are similar, but bbulk is more suited for damage support, so I can remove bblit and make bbulk built-in (it's already the default).
gltex can only work with drm3d. And using a 2d renderer with drm3d is useless, so the supported configuration will be:
- fbdev + bbulk
- drm2d + bbulk
- drm3d + gltex
That will simplify testing, and make it easier to add new features.