+ The "zoom prep", where the div is resized behind the scenes, is now much more robust; items can be rearranged while in this state (in response to new tabs opening, for instance), and everything still works out.
+ Group._activeTab is now a TabItem rather than a DOM element
+ Most of the old "mod" routine is now in the TabItem constructor; "mod" no longer exists
Because image scaling is slowest on big images, we cheat and start the image
at half-size and placed accordingly. Because the animation is fast, you can't
see the difference but it feels a lot zippier. The only trick is choosing the
right animation function so that you don't see a change in percieved
animation speed from frame #1 (the tab) to frame #2 (the half-size image) to
frame #3 (the first frame of real animation). Choosing an animation that starts
fast is key.
+ Moved animate.html into a "workshop" folder and added a pagechange.html. This folder will go away soon enough, but for now it's a good spot to stash tests
+ You can drop tabs onto groups (but no tabs on tabs yet)
+ Disabled resize for now
+ Fixed a bug with groups looking like they were deleted but not really being
+ Changed the iQ.fn.animate call signature: it now takes two arguments, a CSS object and an options object (with possible parameters: duration, easing and complete)
+ iQ.fn.animate now reliably calls back the completion routine (this was causing all sorts of trouble)
+ Reenabled TabMirror.pausePainting
+ Added animate.html, a test bed for playing with CSS transitions
+ Fixed a bug with iQ.fn.one that caused it to not properly set "this"
+ Temporarily disabled TabMirror.pausePainting, which is causing problems at the moment (will fix soon)
+ tabitems.js is now jQuery-free except for drag/drop/resize
+ Cleaned up usage of TabItems.getItemByTab and renamed it to getItemByTabElement to make it clearer
+ First use of iQ.animate(), which uses CSS transitions: tab zoom up and down, as well as phantom group disappearing when you drag in empty space but don't make it big enough
+ Consolidated onFocus call of UIClass into onFocus call of Page
+ ui.js is jQuery-free
+ The zoom down animation happens after a setTimeout(…, 1), which causes an unfortunate delay, but without it, the animation doesn't happen at all
+ Added val, resize, change to iQ.fn and isAnimating to iQ
+ iQ event binding works now; converted over some of the usage in ui.js
+ Additional fixes to iQ's CSS function
+ Added position() and one() to iQ, as well as a number of bind() aliases
+ The function you give to TabMirror.customize now takes a Mirror rather than a jQuery object
+ iQ is coming along. I tried to put asserts in for all the standard functionality that's missing (and that we might not need, but that someone used to jQuery might expect). I've also been adding Natural Docs comments, to give a sense of the scope+ Got rid of TabCanvas.animate(), which we haven't used in a while.
+ No longer including switch.js, which we also haven't used in a while