Add option to set a custom view for notifications.

This is just a preview PR to get some preliminary feedback before I submit this upstream. @djsell, could you take a look?

---

This changeset enables the creation of custom layouts for notifications. I had to make a few things public that weren't before, namely the option defaults system and some parts of `CRToastView`, but hopefully the extra functionality is worth this cost.
kCRNotificationViewDefault is shared amongst all instances of the class.  This could (will) end up causing a problem since different instances will all init it on their own whereas before a new one was alloced in each instance on demand.

https://github.com/mkantor/CRToast/pull/1/files#diff-5f3010153047668460039f76eed8df7cL516