Merge instance aliases to prevent overwriting aliases

When trying to register your own aliases during runtime it currently overwrites all the existing aliases that have been registered because `setAliases()` is called with an empty array.

This just merges the existing array of aliases and the new array of aliases if you choose to register them when getting an instance.