Fixed crash when adding a new widget after removing the lastAdded widget

Rather than just invalidating lastAdded I've implemented a stack to keep
some form of positioning structure.
A if (lastAdded==removingWidget) lastAdded= NULL; would do, but could
easily fill the canvas with widgets at the top.