Overlays

Created `Tooltip` and `Popover` components, and refactored `Modal` logic to play nicely. Docs + tests to come. I have introduced some breaking changes with the Modal logic, please let me know if you can see a nicer way to do this.