tickit_ref() increments the stored refcount of the given toplevel instance by one. It returns the pointer
argument itself, so it is useful for chaining.
tickit_unref() decrements the stored refcount of the given toplevel instance by one. If the refcount
drops to zero, the instance is destroyed. This will release any resources controlled by it and unbind all
pending timer and later callbacks, causing them to be invoked with the TICKIT_EV_DESTROY flag if
appropriate. This will also decrement refcount on the terminal and root window instances, which will
likely cause them to be destroyed too.