Refactor tests to reduce render() calls
Working magick callout
Implement gradient frame type
Refactor getRenderFramePixelFunc to getRenderFrameFunc

Render funcs are now for the full frame, not just a pixel.
As such, pixelIndex is no longer visible.  Dimensional data
is now organized in flat objects with keys like 'x' or 'x,y'.
Make animation.render() async
Make animation.renderPlayback() async
Make renderFrameFunc async