Fix hook race condition

Previously, if two or more hooks were listening for the same event, only
one would fire, unless it was a starfall internal hook like render or
think.

A race condition still exists, if two or more hooks return a different
value, but I don't think anything can be done about that.