Rewrite of /printer to have an optimized multithreaded serial connection to the printer.  Upon connecting to the printer a new thread is created and thread safe buffers are used for commands, responses, and log data communication to and from the main thread(s).  The separate thread is carefully written to be very fast and responsive.  This prevints long gui operations, such as opengl draws from causing buffer underuns in the printer.  Also fixed a number of connection related bugs.  Always connects reliably to the printer.  printer.send() accepts multiline gcode commands that are guarenteed to be atomic even while printing is active and multiple threads are calling printer.send() at the same time.
Added untested WIN32 support to printer/printer_serial.cpp
Remove libreprap since it is no longer needed. libreprap functionality is now included in printer/printer_serial
Make initial shell shrink more accurate by default
Allow different threading implementations for multithreaded printer.  Current implementation allows glib threads and pthreads, defaulting to glib threads unless USE_PTHEADS is defined.
Fix deadlock bug when reconnecting to printer
Use autoconf to detect pthreads.  Printer uses pthreads if available,
glib threads otherwise.
Use generic sleep functionality for better windows compatability.
whitespace
Add reset feature.  Tested on linux with RAMPS board.
add icon thanks to hroncok
(GH-87)
repair previous commit
update icon, use it on all dialogs
(GH-87)
install icon in system icon directory
(GH-87)
Clean up error messages, prevent SendAndWaitForResponse from hanging if
connection closed after command send, but before response recieved.
Make inhibit threadsafe.  Fix speed of move commands.
Fix printing progress bar
update clipper to 5.1.0, last revision before the API change
Pull in upstream commits
Make connect and reset more repsonive in the gui by moving the RecvLine call that waits for the start line to the background thread.