LCD Driver Using Polls LCD for timing

LCD Driver uses polling of the LCD rather than hard coded timings. This
was meant to fix the corruption issues but does not appear too.
Better USB Error Handling

Written by Kishan.