Update localization.js

* Directive function is updated to translate values asynchronously
* Directive now can use the content of the html tag:
     <span i18n>My string</span>
is the same as
     <span i18n="My string"></span>
and the same as the filter
     <span>{{ 'My string' | i18n}}</span>
* behavioral change: directive does not append the translated text; it replaces the content
* removed the requirejs dependency