Render refactor (with couple of fixes)

yes, they return the same bitmapdata. empty frame is, well, empty, so there is no need to generate different bitmapdata objects, imho