Use safer removal of disabled menu items

Previously I was removing menu item inside
the block passed to enumerateObjectsUsingBlock:
method, which is dangerous. It's safer to create
a new mutable array and add items that are
enabled into that array.