Canvas.test.cpp: Test nested canvas
Refine Canvas to support simple alpha compositing.

(Canvas::alphaBlend, Canvas::Impl::alphaBlend): New
Canvas.test.cpp: Test simple alpha compositing
(Canvas::pimpl): Switch over to unique_ptr
(ECMAScriptContext::pimpl): Switch over to unique_ptr