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.