Improve computation of canvas size, since CSS isn't flexible enough here
Various updates to TODO