Remove abstract output
The abstract parent class base::output
is not required in most circumstances since we act directly on the child classes depending on the windowing system.
But we'll still need a window system independent class in some plugins. Replace it here with small output structs only containing minimal data and being created on the fly when calling into base::platform::get_outputs
.