New non-stacking ToastDisplayer implementation

A rehash of PR #27.

This adds an interface for ToastDisplayer.

It deprecates Toaster, but enhances it by upgrading it to use the new interface (without breaking API).

It adds two implementations of ToastDisplayer:
- a regular one, like Toaster, but with the ability to cancel all preceding toasts
- a non-stacking one, which will only show the last toast

Goodbye toast related method names..!

![](http://chowhound.chow.com/uploads/9/7/7/1037779_toast.jpg)

Couldn't think of a pun good enough for the `cancelAll`, so considering it's a new interface anyway, just went all serious on them.

![](http://4.bp.blogspot.com/_2yhjQsuqYus/TTndbGeloWI/AAAAAAAAACM/La3b2s8hk8s/s1600/bucket.jpg)