remove unused files
update State

- make State work properly when useLocation is false. Not using location
loses the history stack, so going back has no effect on State.
- remove obsolete functions
- clean up push/replace/statechange. popstateCallback and stateChanged are now
separate. popstate parses state from url, then calls stateChanged.
stateChanged checks for changed variables and triggers events for them.
stateChanged is also called by pushState regardless of useLocation.
- add functions to bind tag and item links that affect state when clicked.
remove more obsolete code
don't sync collections/tags until previous is done
clean up + streamline async/sync promises
more minor cleanup
make searchbox its own widget instead of controlpanel

probably necessary to split it up for mobile, and no reason they need
to depend on eachother
remove global selectors from searchbox

Was never a good idea. Actually caused problems with having multiple search
boxes on a page, which will probably be necessary for a unified responsive
layout.
update library example layout+mobile

- add library data attributes to most widgets / triggers
- add new templates to includes
- point at 'compiled' JS folder
- tweak layout and update loaded html for updated widgets
- mobile_library.php to test mobile layout: Includes panelContainer widget
to control which panel is showing, and wraps the panels for items, tags,
and collections. Also uses customized bootstrap to keep the navbars expanded
on small screens (modified @grid-float-breakpoint)