Content bounds should be initialized with sentinel values
Introduce bubbling flags
Get hit testing to work
Keep ratio in the shape frame, pass to source at rendering time