Stubbed annotations for valid stats data

Added annotation tooltip stubs for stats pie chart puddles. When
there is no data, the old "insufficient data" annotation appears.
If there is data then a stub appears. Still need to clean up the
implementation a bit and implement the average annotation.
Move puddle parameters into opts object

The parameter list for the newPuddle list was getting pretty long.
Since I need to add the annotations to it, making it even longer,
I thought it would be cleaner to move the parameters into an
object that is passed in.
Move stats annotation info into puddle object

Since the stats annotations are different for each type of data,
I moved the information about the annotation text into the puddle
objects, so each puddle knows what text to display for itself.
Clean up stats annotation logic

Made it more modular and reduced code repetition.

Also implemented annotation stub for bg average.
Change stats annotations for cgm vs smbg

The puddle objects for Range and Average now store a base
annotation key string, ie 'stats-how-calculated-range', and when the
annotation is actually built, '-cgb' or '-smbg' is appended for
looking up the corresponding annotation content string.

One key change I made was no longer using the default annotationOpts
in conjunction with _.defaults. The reason for this is that it can
introduce subtle bugs, because apparently the default objects are
then shared by any objects returned by _.defaults. The quick fix
was simply to build separate annotationOpts objects for each puddle
and set up the defaults individually, which isn't too bad.
Fix flickering hover for stats puddles.

The stats annotations would flicker when moving the mouse around
inside the puddle. This was caused because the puddle is composed
of distint SVG elements inside a g element, and SVG g elements
don't fire hover events on there own. So I added a hidden rectangle
to trigger the events.
Fix alignment for average bg stats annotation
Change stats annotation message

From "How is this data calculated?" to "How is this statistic
calculated?"
Add semicolon for jshint
Move invisible rectange style into CSS
Change object keys to non-strings
Fix annotation logic to handle more than just demo
Fix stats annotation for weekly

Appendage to last commit. Weekly view needs to use the same logic
to handle annotations other than demo and stats
Change annotation head

From 'How is this statistic calculated?' to 'What is this?'
Merge pull request #177 from anderspitman/annotations

stats widget explainer tooltips