History implementation from: https://code.haxe.org/category/data-structures/ring-array.html
new(len:Int)
add(v:T):Void
redo():Null<T>
undo():Null<T>