This exists in v2.0. There is a "renderer model" where someone implements
VectorRenderer2D<TRenderObject>,
TextRenderer2D<TRenderObject>, and / or
RasterRenderer2D<TRenderObject>. This has currently been done for GDI+ in v2.0, and WPF is on the way. John Diss and I are also gently looking into the possibility of using a different drawing technology for the web (such as Anti-grain Geometry),
since GDI use on the server side is a no-no.

Yes. In both v0.9 and v2.0.

In v2.0, each vector layer (geometries and labels) has a spatial index. This has yet to be generalized to raster layers in Beta 2. Something should be available by v2.0 release.