Rewrite bundle.py

- Remove bundle.img from commit: Should be updated in own commit
- Rewrite bundle logic to be object oriented
- Move bundle logic to separate modules
- Add version identifier to bundle.img
- Remove concept of media-type from bundle.img
- Make args more like tar (-cvf, -tvf, etc)
- Files included are now based on descriptive and ordered resources file (see resources.yaml)
- bundle.py now also generates an enum suitable for inclusion in C/C++ to correlate with IDs
- Multiple resource files can be specified, allowing bitmaps, fonts and strings to be in separate files if desired
OLEDMP: Removing type field from flash
Refactor all file ids into file_ids.h
Replace redunant get-file-addr functions
Refactor all file ids to strong FileId_t type
Remove numerics from file names
Check bundle version, allow bundle upload if invalid

This shouldn't affect security, as an attacker would first have access to either external or internal flash. In the case of upgrading firmware, this allows the user to upload the matching bundle w/o a working interface.
bitmap.py: Minor bug fixes