Replaced type property with class

 - type is used to apply a class to the event, so using the property name
   class better reflects the intent
Added datejs javascript utility

 - This is a utility from google that provides date manipulation
   functions. Check out https://code.google.com/p/datejs/
Added event type enum

 - This (in theory) will make it easier to check the event type
Converted tabs to spaces (as per JSLint rules)
Various minor cleanups as suggested by code analysis tools

 -
Changed the parameter "type" to "class" to help avoid confusion with its usage.
Changed casing of eventsJson for consistancy
Added event types to allow multi-day events to be specified
Added first cut of multi-day events

 - Makes use of startDate and endDate. If either is missing, its
   defaulted to date
 - Note that this currently doesn't cater for events spanning multiple
   months