Change from null checks to coercive truthiness checks on non-primitive p...

...arts of the public API.

Rationale: This will be a little more idiomatic for javascript consumers without changing semantics, since
an object (ie. any non primitive) type will always return true if it is defined.

This would enable usage like:
`new Plottable.Component.Gridlines(xGridlinesEnabled && xScale, yGridlinesEnabled && yScale)`
Previously, if you passed in `false` as `xScale` or `yScale`, it would work until you tried to `project` using (at which point there'd be some sort of `could not call function` error). Now, `false` still passes through, but `project` will work correctly. Do we want to update the message? If the goal is to enforce having scales, then both ways of checking are wrong -- we should check using prototype checks.