feat select: link filter to callback

When filtering, if the callback `filter` is set, the new filter is sent to the callback. This
callback can then use this filter to make ajax calls.
feat select: add loader and helpers

Add helpers when no results are displayed or if the filter isn't long enough.
Add loader to indicate that an ajax call or another long method is in progress.
chore dist: update
feat select: update demo