This is too code-base breaking to break into usable commits:
- OOP-ify everything
- Pass Procs and simplify the colorizing methods instead of using Macros
- Improve -i and -w by not moving to the next color if it's whitespace
- Test option parse (spec)
- Create a global typesafe config instead of using a Hash