Revert "Revert "Renamed surface::push_group_with_content to surface::push_group. Renamed surface::copy_clip_rectangle_list to surface::get_clip_rectangles. Added path_data validation code to path class constructor.""

This reverts commit 7b0bef1c2691f73a2111b0d6d77bcbd1177f56ab.