fixed translator locale management

The locale used by the translator was set the first time the translator was instantiated. That's a problem for several reasons:

 * changing the locale via `$app['locale']` would not change the locale used by the translator;

 * when using fragments, the locale was not updated correctly;

 * also, when using the web profiler, the translator is created early on (before the handling of a request), and so the locale was always `en` (see silexphp/Silex-WebProfiler#23).