On refresh

call the onRefresh callback everytime the instance is initialized or refreshed. 
I'm creating this PR mainly for AngularJS compatibility, since the label might have bindings `{{ }}` and they show up wrong, plus you can manipulate the components that are used internally in selectric and you have the free will to add classes, wrap them, etc.

One use case:

```coffee
.directive('select', ['$interpolate', ($interpolate)->
    {
      restrict: 'E'
      require: ['?select', '?ngModel']
      link:
        post: (scope, el, attr, model) ->
          return if not model or model.length < 2

          el.selectric(
            onRefresh: (selectric) ->
              selectric.label.html(attr.type + ": " + $interpolate(selectric.label.html())(scope))
              selectric.wrapper.addClass('ng-pristine')
              return
          )

          el.selectric(
            optionsItemBuilder: (itemData, element, index) ->
              itemData.text = $interpolate(itemData.text)(scope)
              itemData.text
          )

          scope.$watch(
            ->
              el[0].length
            (n, o) ->
              el.selectric('refresh')

              return
          )

          scope.$on('$destroy', ->
            el.selectric('destroy')
            return
          )

          return
    }
])
```