Adds event cancellation support

Adds support for event cancellation.
* Adds methods
 * isCancellable() to all events
 * setCancelled() and isCancelled() to cancellable events
* Adds a new interrface to the API
* Adds the forge cancellation annotation to all classes which implement the interface