Viewport might not always be the window itself

The viewport is not always the window, but sometimes a portion of a window. For example when you are working in a single page application, it might be a specific block element on a page.

With this change, it is possible to introduce a different calculation method for the viewport height through the viewportHeight options parameter. This option is a function that takes the items as its argument.

Potential use case when a view class block element is used as the viewport that is smaller than the window:
```javascript
$(element).find('select').selectric({
    viewportHeight: function(element)
    {
        var parentView = element.closest(".view");
        if (parentView.length > 0) 
        {
            if (parentView.height() <= $(window).height())
            {
                return parentView.height();
            }
        }
        return $(window).height();
    }
};
```

Please review.