Ensure that we don't get into an infinite loop if hostController == self
Once we've set the hostController, don't try to set it again

This is because if we're going straight from one alert to another, the keyWindow's
rootViewController is actually self, instead of the view controller that's hosting the
alert. Since hostController is weakly held, we can fairly confidently assume it doesn't
need to change if it hasn't been nil'ed out.
Merge pull request #2 from sadlerjw/fix-recursive-crash

Fix a crash when displaying one alert after another