When is it useful to use canvas instead of a div's structure? For example, I was looking at Ancestry trees and at first I tought they might have use canvas, but, in reality, it's just a bunch of divs with dynamic transforms and position. Except for games, what kind of app would require canvas according to you?