fix: Really fix hint effect completely this time

We still have to initially hide the hint. This was missing from the last
commit which lead to the possibility that a hint was initially been
displayed. This occured in the controls example demo where the hint was
suddenly displayed in the top left corner when you hovered over the menu
buttons on the top.

Now we initially hide the hintLayer.

#246
fix: element.show() needs to trigger onShow events for visible elements

The commit 77059d2544d3825aaa680491683b377aa1b1fb41 introduces an issue
with the controls example. All the main panels (and the hints too)
didn't fade in properly because of the commit mentioned above.

The show() method has now been changed back to the original code that
will use startEffect() instead of startEffectWithoutChildren(). Doing
that means we'll - again - iterate through all child elements.

But this time we'll not start the onShow effect for elements that are
invisible. So we fix the original problem where it was possible that
invisible child elements with an active onShow effect prevented an
actual show() call and still keep the remaining functionaility intact -
which fixes the controls example.
fix: CheckBox control did not keep it's state when being hidden/shown

The custom Nifty effects for the CheckBox (scale + fade) have been
removed for now. The new way of keeping the visible state of child
elements intact when a parent element is hidden introduced issues with
the custom effects.