Strengthen shape construction.
Check integer overflows.
Use Shape object to store dimensions.