Global variables, JSON parsing, and ground-work for character builder/loader (improved)

I've considered the previous pull-request comments, and adjusted my code. I didn't create a new branch for this as it would probably look weird in the history to have 2 similar commits from 2 different branches. However, this is something I'll keep in mind for later commits.

Please look through this, and point out anything you find odd, missing, bad, etc.