Set converter on SerialOutput output classes

  - Missing call to .set_output_converter() when creating
     SerialOutput instances
Add extra colours, check for tuples and convert to ints when setting pixels

  - Added constants for CYAN, MAGENTA and YELLOW

  - Added check in set_pixel() to see if the colour is given as a tuple,
     if so then the tuple is converted automatically into an int
Initial commit of LoveHeart Plugin

  - Pulsating centred heart, with two optional names,
     upper and lower, configurable using upper_name
     and lower_name attributes respectively
Create stable spash screen for the DiscoFloor Plugin

  - Change the draw_splash() on the DiscoFloor plugin
     to use a constant seed for random() so that the
     splash screen is constant without being hardcoded
Add splash screen to the ScrollingText plugin
Add splash screen to the WavyBlob plugin
Catch errors from parsing missing attributes in the SineWave plugin

  - Add catching AttributeError to the config parsing, which
     we get when the config hasn't been set for that attribute
Refactor plugin model to allow for menu interactions

  - Moved all plugin model state and playlist information
     into a self contained unit so that as well as the main
     loop consuming the data, the menu can modify it too.
     This also necessitated modifications of some plugins
     to handle not having config.