Only close dropdown if click originated from outside component's root node

Hey!

I have changed the document click handler for the `DropdownStateMixin` to only close the dropdown if the click happened outside of the component's root, currently any click on the page closes the dropdown, this allows the mixin to cover more complex use cases such as having an `<input />` inside a dropdown like #62.

As a result of this change we need to control the state of the dropdown for clicks within the component and as such i have updated the `SplitButton` and `DropdownButton` to more explicitly set their own state from different internal clicks.