rewrite printing code

A couple of changes I made earlier slightly broke printing. This commit
gets it back into shape, and makes several improvements (like removing
the printing GUI code from JESUI, and keeping it with the filemanager).

The actual print code itself ended up being rewritten, because it was
super messy -- it took me about a half hour to understand the purposes
of all the variables and whatnot. Now the code is much better commented
and generates a nicer layout to boot. It also supports out-of-order
printing better.
document new dependency rules

Basically, everything in dependencies/jars and dependencies/python
needs to be loadable.
created a new prompt for when saving is required

The continueAfterSaving prompt was written with the assumption that
not saving is OK. However, there are other cases where the user HAS
to save the file, or bad stuff will happen when they try to load or
print it.

So, the old prompt was renamed to continueAfterSavingOrDiscarding,
still having Yes/No/Cancel options, and the new continueAfterSaving
only presents options for Yes (save and continue) and No (don't save
and stop).