Modified LCD initialisation to avoid random characters

Additional 'Function Set' commands added to the LCD initialisation
routine. This avoids the LCD defaulting to 8-bit mode rather than 4-bit
mode if the microcontroller is reset without also power cycling the LCD.
Entering 8-bit mode results in incorrect characters being displayed due
to a different interpretation of data from the data pins, and half of
the data pins required for 8-bit mode not being connected.