guard for pre-commited size

If you set a surface's size, before the surface is committed to the DOM, `getSize` will return `null`. This change allows Surface to return the size set by the user. 

@michaelobriena