Refactoring and optimizations

I've decomposed `SIAlertView` into its respective subclasses (with separate files) and changed `SIAlertItem` to a proper subclass of `UIButton`, now `SIAlertButton`.

I know this seems like some big changes, but it's only structural. My goal with this is to make it easier to customize to eventually add custom subclasses of `UIButton` to the alert.