feat(autocomplete): Add showOnEmpty option

Add an option to allow the tag list to show when input is empty.
This feature is useful when the user wants to see an unfiltered
list of all available suggestions before typing.
Merge PR #65
refactor(autocomplete): Rename showOnEmpty as loadOnEmpty

Rename the showOnEmpty option as loadOnEmpty and perform other
improvements on the code.
feat(autocomplete): Add loadOnFocus option

Add a new option, loadOnFocus, to enable the loading of suggestions when
the input element gains focus. This option has lower precedence than
minLength and loadOnEmpty options.
feat(tagsInput): Enable ngFocus and ngBlur native directives

This adjustment makes sure the outer (directive) element is focussed when the input field receives focus, and blurred when the input field loses focus. That way, Angular's native ng-focus and ng-blur can be used on the directive element.