Allow CamelCase and dash-case component naming

Allow both CamelCase and dash-case component naming, add tests to ensure
that JS objects are created with the correct Ember names in both cases
and add example usage to description.