rewritten menu animation async
testing canvas perf
tidy canvas update
async demo loop in place
optimized update canvas (this for loop was 3x faster than a do while ~5ms vs ~15ms)