Bhv 5137 Add renderOnShow option

Requested from HQ developers.

Issue
------
Due to performance matter, app developers would like to adjust rendering timing between render on creating and render on actual showing.

Cause
-------
enyo.Control does not have an option to delay rendering


Fix
----
Add renderOnShow option. If developer sets it true, 
automatically this control has showing:false and canGenerate: false
When we call setShowing(true) first time, it will start render.
Hi @aarontam, I made too many mistake especially this PR. Hmm...what the matter with myself.
Anyway I try to use `ButtonSample.html` in moonstone samples and it display correctly when I call `setShowing(true)`
But `canGenerate` is still false due to my miss use. Let me fix it.

Moreover as your comment, I realize that some controls like `Header` or `Drawer` does not render using this property. Let's hold this PR until I try more test. Thank you @aarontam