I think that lib uses too many colors. Also it would be nice to enforce other constraints that were required by the NES:
The system has an available color palette of 48 colors and 6 grays. Up to 25 simultaneous colors may be used without writing new values mid-frame: a background color, four sets of three tile colors and four sets of three sprite colors. The NES palette is based on NTSC rather than RGB values. A total of 64 sprites may be displayed onscreen at a given time without reloading sprites mid-screen.
I think that lib uses too many colors. Also it would be nice to enforce other constraints that were required by the NES:
https://en.wikipedia.org/wiki/Nintendo_Entertainment_System#Technical_specifications