Fixed: tab views added in IB didn't resize properly.

IB sets `autoresizesSubviews` to NO for tab views by default. In Cocoa this doesn't make any difference because `NSTabView` ignores this setting.

This fix makes it so that Cappuccino's tab view also works with `autoresizesSubviews` off.
Extend tab view test with different tab view types.

Resizing for all tab view types can now be tested by clicking "Cycle Tab View Type" up to 6 times and resizing the window for each mode. (Some modes are not implemented.)
Allow setTimeout(f) to support some JS libraries such as PDF.js.

Without this change some 3rd party JS libraries such as PDF.js, which rely on the nonstandard setTimeout(f), will not operate correctly.

According to MDN the delay argument is required. However browsers seem to treat setTimeout without delay argument the same as a delay of 0. This fix makes it so that Cappuccino apps do the same.
Support CPThemeStateEditable for text fields.
Fixed: tokens could be deleted in an non editable token field.

Prior to this fix, clicking the (X) button on a token would delete the token even if the field was not actually editable.
Only show token delete button on hover, and only when token field is editable.

Before this change the close button showed at all times, even for token fields which weren't even editable.

This change brings us closer to Cocoa in that there's no token delete button most of the time, and just like in Cocoa there are more controls available on hover. (Although in Cocoa there's a disclosure arrow and we have a close button instead.)
Fixed: CPScrollView setGlobalScrollerStyle: return value.
Fixed: token field autocomplete scrollbars unresponsive to mouse.

Without this fix, the scroll handle in the token field autocomplete menu could not be moved using the mouse. Only scroll wheel or keyboard based scrolling was possible.

This fix enables regular mouse interaction with the scrollbar.
Manual test for non-editable token fields.
Fixed: CPPopovers could not become key windows in recent versions.

This prevented text fields and token fields from accepting input when placed in a pop over.

This fix allows the underlying popover window to become the key window.
Fixed: popoverDidShow in Firefox. New: popover animation support in Firefox, Opera and IE10.

Before this fix, popoverDidShow: would not be sent to popover delegates when the app ran in Firefox due to Firefox now recognising the -webkit-transition property, but not the webkitTransitionEnd event.

Also, before this fix popover animation was only implemented for Webkit based browsers.

This fix resolves that issue and in addition adds full support for animated popovers in all browsers that support CSS transitions. The fix also improves Cappuccino's general support for CSS3 animations.
Fixed: if any token field was being edited, the object value of all other token fields contained the partial value.

Without this fix, token fields generally assumed that if there was anything in the shared editor buffer, it belonged to the current field, even if it wasn't the field that was being edited.

With this fix only the token field actually being edited considers the editor contents.
Merge pull request #1701 from slevenbits/slevenbits-tab-view-resize-fix

Fixed: tab views added in IB didn't resize properly.
Merge pull request #1702 from slevenbits/slevenbits-settimeout-fix

Allow setTimeout(f) to support some JS libraries such as PDF.js.
Merge pull request #1703 from slevenbits/slevenbits-editable-tokenfield-fix

Fixed: tokens could be deleted in an non editable token field.
Merge pull request #1704 from slevenbits/slevenbits-key-popover-fix

Fixed: CPPopovers could not become key windows in recent versions.
Merge pull request #1705 from slevenbits/slevenbits-popover-firefox-fix

Fixed: popoverDidShow in Firefox. New: popover animation support in Firefox, Opera and IE10.
Merge pull request #1706 from slevenbits/slevenbits-tokenfield-scroll-fix

Fixed: token field autocomplete scrollbars unresponsive to mouse.
Merge pull request #1707 from slevenbits/slevenbits-tokenfield-value-fix

Fixed: if any token field was being edited, the object value of all other token fields contained the partial value.