coerce showing value to always be boolean

Enyo-DCO-1.1-Signed-Off-By: Cole Davis (cole.davis@lge.com)
BHV-11232 Enforce condition statement for showingChanged
null, undefined and false makes the control invisible.
However if we call setShowing() with those arguments sequentially,
it returns the control to visible state.
Because we does check only previous value not current value.

For example, setShowing(null) after setShowing(false) satisfy previous condition statement.

We can just use this.showing for condition but developer can call setShowing() with positive arguments like
setShowing(3) after setShowing(true).
applyStyle() is expensive method. So to make better performance I use double condition check.

Enyo-DCO-1.1-Signed-off-by: David Um david.um@lge.com

Conflicts:
	source/dom/Control.js
BHV-11232 Apply enhanced condition to the case of becoming invisible too.

Enyo-DCO-1.1-Signed-off-by: David Um david.um@lge.com
Starting to edit comments for data kinds. Enyo-DCO-1.1-Signed-Off-By: Jim Tang (jim.tang@lge.com)
Merge pull request #804 from enyojs/BHV-11232-coledavis

Fix for: BHV-11232

Looks good!

Reviewed-by: Aaron Tam (aaron.tam@lge.com)