Fixed a failed layout assertion

by exchanging the used layout for Canvas
Added a global definition file to ease shared ptr creation