WIP: Add UI subsystem

It was migrated from ImageJ:
https://github.com/imagej/imagej/tree/imagej-2.0.0-beta-7.9/core/ui