use SplObjectStorage for child scopes
Merge pull request #61 from brianium/enhancement/child-scopes-use-object-storage

use SplObjectStorage for child scopes