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!
matplotlib/matplotlib#3490