*
@method camelize([first] = true)
@returns String
@short Converts underscores and hyphens to camel case. If [first] is true the first letter will also be capitalized.
@extra If the Inflections package is included acryonyms can also be defined that will be used when camelizing.
@example

'caps_lock'.camelize()              -> 'CapsLock'
'moz-border-radius'.camelize()      -> 'MozBorderRadius'
'moz-border-radius'.camelize(false) -> 'mozBorderRadius'

*
function(first) {
      return this.underscore().replace(/(^|_)([^_]+)/g, function(match, pre, word, index) {
        var acronym = getAcronym(word), capitalize = first !== false || index > 0;
        if(acronym) return capitalize ? acronym : acronym.toLowerCase();
        return capitalize ? word.capitalize() : word;
      });
    }