deal with @WestLangley's issues #1, #2, #3, #4 from here: https://github.com/mrdoob/three.js/pull/5809#issuecomment-68329651
fix issues #5 and #6 from @WestLangley's comment here: https://github.com/mrdoob/three.js/pull/5809#issuecomment-68329651