ENH/REF: Accept style args; use plot, not scatter.

Now `annotate` uses `plot`, which is both faster and more flexible than `scatter` in this context. It accepts dictionaries in `plot_style` and `imshow_style` which override hard-coded defaults.

There is some funny-business with `extent` aimed at getting this:

![image](https://cloud.githubusercontent.com/assets/2279598/4241341/f35c70c8-39f2-11e4-8f98-198288c303c6.png)

not this:

![image](https://cloud.githubusercontent.com/assets/2279598/4241426/c8742fb2-39f3-11e4-8a31-fffedba9f3b8.png)

@tacaswell if you know a better way, have at it!
This should do 

```python
if 'marker_size' not in plot_style:
     plot_style['marker_size'] = circle_size
else:
     raise ValueError("passed in both 'marker_size' and 'circle_size'") 
```

Right now it looks like it is only warning about it being deprecated and then ignores the value.