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