Record feature

Add the possibility to record an avatar and then play back that recording.

Next PR will add:
- save/read recording from file.
- Script to manage all that.
This pattern is repeated several times:

computeCurrentFrame();
if (_currentFrame >= 0 && _currentFrame <= _recording->getFrameNumber()) {
    if (_currentFrame == _recording->getFrameNumber()) {
        return _recording->getFrame(_currentFrame - 1).getFoo();
    }
    return _recording(_currentFrame).getFoo();
}

It would be nice to clean this pattern up so that less boiler plate is required in each accessor method.  Perhaps something like this:

int frame = computeFrame();
if (frame != INVALID_FRAME) {
    return _recording->getFrame(frame).getFoo();
}
return 0.0f

Where computeFrame() has the side-effect of calling computeCurrentFrame() also does all of the checks, returning either a valid frame or some known invalid value.

Just a suggestion, does not block the merge nor need you agree.