plot.remove() causes scale to resize

Before, calling `plot.remove()` would cause the data to disappear, but the scale would not resize. This branch fixes that issue by having `Plot` signal all of its projectors that it's gone on `remove()`, and reverses the operation on `_anchor()`. 

Close #554.
Since `dataSource._getExtent()` caches its result, I don't think this is worth optimizing. The common case of calling `remove()` on a plot that's already rendered would already be fast because of the caching. The main case that would be affected by refactoring would be if they changed the `dataSource` after removing some plots, which I feel is a rare operation.