Changes for version 1.00
- This module has been sitting around for way too long. Although it's not perfect, it works for about 99% of the cases, and so I'm just going to release it and see if there's anybody who wants to take a stab at making it work even more correctly
- Declare functions static + inline as much as possible.
- Very minor optimizations