After further experimentation, the previous template-heavy design
turned out to cause issues with compilation.
Thus, it has now been replaced with a simpler, dumber implementation
that pushes more of the logic into the caller.
- Use a custom prefix system for tagfiles - f for a file, p for a page, t for a tag
- Add a hex tag that reads and writes a number as hex
- Ensure booleans are always read and written as alpha