[ ] Rather than storing the two viewboxes separately, it would be easier to store a function for scaling and a function for inverse scaling (px -> cartesian)
[ ] Need a way to tell if a point is within the chart at all (ie, within the viewbox + gutter) ... and possibly by how much (ie if it's a data point that takes up space it should not simply disappear until it's radius is fully outside the viewbox)
Some items needed: