Ensure graceful shutdown if the app can't find the specified .rarc file (since it's not included by default)

- Moved fonts fold into the new top level "Assets" folder. This is also where .rarc files should go
- Fixed a bug where package opening failed to detect failures (like file not found)
- Fixed memory leak when package opening or asset loading failed
- Added error message when package loading fails
Add Link.rarc to the .gitignore file
Add texture generation support! Links eyes are visible!

-Matrix generation is still best guess (based on Thakis' guesses). 3x4 are unsupported, 2x4 seems to be working.
- Fix attempting to free non-allocated memory because of a missing nullptr initialization
Updated color channel control indices. Turns out we had it closer to correct the first time. The correct order is Color0, Alpha0, Color1, Alpha1.
Fixed the ColorChanInfo struct. According to http://kuribo64.net/?page=thread&id=532&from=20, thakis had it wrong. This really blows out the colors. Implementing lighting should fix this.
Added alpha test and TEV swizzling functionality

- Only sample textures once per material
- Implement Swap Mode (swizzling)
- Implement Alpha Compare (alpha test)
Fix texture matrix info parsing from .bmd. We were missing some data. Found this with the help of "blank" on http://kuribo64.net/?page=thread&id=532&from=40#post20101
Greatly improved texture generation matrix support. Added support for rotation, translation, and fixed rotation center bug.

- Now supports all 2x4 matrix operations for type TEXMTX_TEXCOORD
- Removed "swizzling untested" warning
Introduce hack to get Link's eyes working. They're drawn in three passes, the first to are an alpha mask and alpha blend, but also write color (which is black). This hack enables alpha blending for all the layers and it comes out fine. I tried masking the color bits out of the first pass' write, but that just makes the eyes/eyebrows come out aliased. More investigation needed.
Made the release profile buildable (for profiling)