Use stack based cleanup for canvas save/restore calls.

Using this approach enables future CLs to add quick reject logic
to drawing layers in future CLs and more cleanly manages the
save/restore lifetimes.

Test: librendererengine_test
Bug: 181028875
Change-Id: I061a6986d0a2d3735d35b1c065a1bd41c147a41b
1 file changed