Entry points

Parser should be kept as slim as possible. This includes not loading any potentially large files when they are likely to be unused in practice.

Parser has five main (classes of) require entry points:

All non-main entry points internally require 'parser'. Additionally, all runner-specific entry points internally requre 'parser/runner'.