animation: Refactor adw-animation into a GObject
As grounding work for a proper public animation API this MR refactors the existing code from a boxed type to a GObject. It adds as well a "done" signal for when the animation ends and an enum-based state property for future state handling.