Enforce minimum source size for the preview window

Otherwise sources that return 0 width/height trigger errors in
gs_setviewport
Add async texrender to cleanup