Added Print Queue

* Refactored some code into Printer and PrintThread classes.
* Added Print Queues.

You should be able to keep mashing "p" until each printer is printing.
After each printer is printing, mashing "p" will have no effect, as the
GUI thread will be busy.

There is now a `q_capacity` variable.  By giving this variable a value
greater than `1` you will be able to queue more pictures on each
printer.  However, in the absence of any type of queue managment,
increasing this value may result only in more errors, not more
throughput.