* ggplot2 input brushes should retain discrete range mapping, and be imposed in brushedPoints(), closes#1433
* simplify logic and reduce required storage
* get nearPoints() working as well, cleanup
* only remember scale range if ggplot is facet with a free discrete axis
* Use the scale limits (before the range) since the former is specified, that's what is actually shown on the plot
also, introduce within_brush() helper to consistently handle missing values produced by asNumber()
* also use scale limits in older versions of ggplot2
* DRY
* discrete_mapping -> discrete_limits; better comments
* update test expectation
* a couple unit tests
* update comment to reflect new coordmap data structure
* use unlink() not rm()
* add some tests for specifying scale limits and labels
* Use get_limits() if available
* update news
* better name and comment for new asNumber() argument