Initial UI Setup

Merge the UI components into master
This constructor got kinda messy. There should probably be a private method called `applyObjectAttributes` that sets the width, height, and fill from the attributes