Added naive region copy/blit functionality

- FURegion defines a rectangular region of pixels
- FURegions can be read from screen, texture or other FURegions
- FURegions can attempt to "fit" an indexed palette to its pixels

All these implementations are copy a single pixel at a time. Choose
your use cases wisely.