Animatron/player — pull request #53 by shamansir (2012-09-27 14:02:03+00:00)
Title: Improved removing modifiers/painters

An improvement that lets user remove modifiers/painters easier. Compare:

Before:

```javascript
var elm = b();
m_to_remove = elm.modify(function(t) { ... }).get_m_id();
// (impossible to chain calls after get_m_id since it stops the chain)
...
elm.unmodify(m_to_remove);

var elm = b();
p_to_remove = elm.paint(function(ctx) { ... }).get_p_id();
// (impossible to chain calls after get_p_id since it stops the chain)
...
elm.unpaint(p_to_remove);
```

Now:

```javascript
var elm = b();
function m_to_remove(t) { ... };
elm.modify(m_to_remove)/*.modify(...).band(....)*/;
...
elm.unmodify(m_to_remove);

var elm = b();
function p_to_remove(ctx) { ... };
elm.paint(p_to_remove)/*.paint(...).band(....)*/;
...
elm.unpaint(p_to_remove);
```

Now pre-calculated id is stored in modifier/painter itself, and it is stored for every element it was attached to.

Cloning also should work properly. And `untween` and `unhandle` now work the same way