Cleaning up script load dependencies by making a dependency resolver.
This also identified some other architecture problems that allowed me to
refactor the fileOptions away from the builder, and the menu away from
the builder.