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.
Add reset feature.  Tested on linux with RAMPS board.
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
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.
Fix printer_serial.cpp compile on windows
Add linebuffer for WIN32 since the WIN32 serial port does not have a line buffered mode
Fix memory leak on PrinterSerial destructor in previous commit
Remove unused preference settings ReceivingBufferSize and ValidateConnection.  Remove unimplemented kick function.  Conneciton errors now display alert dialog.
Lockout move and extrude features while printing
Update error messages for easier internationalization