Separate config, lang and view package component registration to separate method.

This would allow customization for advanced developer to choose if they only need to register specific component type instead of all three, it also give the freedom to developer to define the path for config, lang and views if they feel the need to.

Relevant to #4928

Signed-off-by: crynobone <crynobone@gmail.com>
`$package` here is not used for registering lang namespace, however I still add it for consistency and if in the future it does need it.