Service manager performance optimized

This PR inlines some of the methods internal to the service manager. Following changes may be potential BC breaks:

 * `canCreate` has been deprecated (as it seems, it is an internal method anyway. Users should keep using `has`)
 * `isSubclassOf` has been deprecated (was used internally)
 * The canonical names map is re-used directly, instead of calling `canonicalizeName` each time

**NOTE**: if this one is ok, remove the performance test case before merging (or tell me to do so)