Fix child windows may reside on other layers than parent.

Child windows should reside on the same layer as parent.
It's important to order out child windows before parent window relationship is broken.
Fixed: CPComboBox popupList should close if mouse is clicked outside of the control

Previously the list of the CPComboBox didn't close when clicking outside of the control
Now the list has the same behavior as Cocoa

Fixes #1859
Added optimization
Merge pull request #1915 from Dogild/PopUpListComboBox

Fixed: CPComboBox popupList should close if mouse is clicked outside
Revert "It's important to order out child windows before parent window relationship is broken."

This reverts commit c6553016d34c6935557751f3ee872fd643fa711e.
Revert "Fix child windows may reside on other layers than parent."

This reverts commit 8e4f1fdd109e5ccda11f1d57a3bbfdf2a32f2288.
Consistent approach to handle child windows.

When added, level of child window is reset to level of the parent.
A user may change it aftewards to the level that may even break
specified relative position.

E.g. if a child window is added below the parent (Normal)
and its level is set to Floating it will be ordered above.

Whenever you change level of the parent window, levels of the child
windows are reset as well ignoring all your changes.

According to the example, if you set level of the parent to Normal+1,
child window' level will also be set to Normal+1 and its relative
order to the parent (below) will be restored.
Merge branch 'master' of github.com:cappuccino/cappuccino
Merge branch 'slevenbits-child-windows-order-fix' of git://github.com/slevenbits/cappuccino into slevenbits-slevenbits-child-windows-order-fix