Fixed order of extend and use
The previous order (evaluating extends & uses at the same time) caused that sometimes
extra properties were not registered and "swallowed" to extend's base schema.
Fixed by resolving "use" at first, then "extend", and repeating until there is nothing
to be resolved.