ENYO-524: Fix moon.Popup scrim state issue

Issue:

When animating, moon.Popup uses the animationend event to delay
certain showingChanged() logic (including the logic to show / hide
the scrim) until after the animation completes. If the popup is
shown again before the hide animation is done, we need to remove
the animationend handler and perform a subset of its operations
immediately. The logic we were using to detect this case had not
been updated to accommodate the recently added directShow()
feature, which meant that the scrim state could get out of sync
in certain circumstances -- specifically, when the popup was
"directly" shown while a hide animation was still in progress.

Fix:

Update the logic in showingChanged() to make sure we remove the
animationend handler whenever we're shown while a hide animation
is in progress.

Also: Remove vestigial moon.Popup.count logic and ensure that we
properly update enyo.Popup.count in the case where we short-
circuit the animationend handler.

Enyo-DCO-1.1-Signed-Off-By: Gray Norton (gray.norton@lge.com)
Merge pull request #1791 from enyojs/ENYO-524-graynorton

ENYO-524: Fix moon.Popup scrim state issue

Reviewed By: Derek Anderson <derek.anderson@lge.com>
Integrated-By: Aaron Tam (aaron.tam@lge.com)