Backevents are no longer sent to the platform event loop. Instead, a
user must implement a custom widget to handle backevents. The advantage
of this is that the existance of the widget is still guaranteed at the
time the event is handled. Also, this removes some pointless need to
data allocation in most backend implementations.
We should think about an alternative, cross-platform API that still
allows the user to utlilize the platform's event loop somehow.