Some ideas collected from gbdev, gbdk, sgdk, and personal thoughts:
[ ] BitBlt operations on tiles (especially 1bpp->2bpp/4bpp conversion),
[ ] Tilegraphs (the ability to allocate a set of tiles as a rectangular drawing window with efficient BitBlt operations - useful for implementing VWF, CJK font support, etc.),
[ ] Metasprites (automatic handling of >8x8 sprites),
[ ] Fixed-point math routines (especially trigonometry),
[ ] Keypad press/hit/release detection with auto-repeat,
[x] Asset filesystem that abstracts away bank 0/1 management.
Some ideas collected from gbdev, gbdk, sgdk, and personal thoughts: