Move btoa() / atob() implementation out of DOMWindow

Move btoa() / atob() implementation out of DOMWindow and move it to a
new DOMWindowBase64 namespace. Those functions are now static and can
easily be reused by WorkerGlobalScope later on when we want to expose
them to workers (as per the specification).

Implements statements now generate the same code as partial
interfaces, meaning that the functions are expected to be static, in
class / namespace of the same name as the supplemental interface.
A [LegacyImplementedInBaseClass] extended attribute is introduced to
maintain compatibility with existing supplemental interfaces and so
that their code can be gradually updated.

BUG=261226

Review URL: https://chromiumcodereview.appspot.com/19675008

git-svn-id: svn://svn.chromium.org/blink/trunk@154492 bbb929c8-8fbe-4397-9dbb-9b2b20218538