CanCreate adjustment

Changes Component.CanCreate so that it uses IsAssignableFrom rather than
a string comparison on a typename.

While the current  CanCreate works fine, if you change namespaces etc, then it fails preventing entity definitions from being registered.

Urg: Noticed in the "Files Changed" for this pull request it's showing every single line as changed instead of just the 6 or so in the original CanCreate method - assuming it's whitespace, but sorry abou tthat.