Awesome! I think the next step for this project would be to implement a proper DRM kernel driver and device tree overlay, instead of copying the framebuffer in userspace.
For reference, take a look at the Beepy display driver module: https://github.com/ardangelo/sharp-drm-driver. It's for a monochrome Sharp memory LCD, but still uses the SPI interface on a RasPi.