chrome views: Do not rely on MaterialDesignController forward declarations

This fixes the libstdc++ build after #595275 ("Relayout browser windows when
MD mode changes") and #596350 ("Relayout location bar buttons when MD mode
changes"), which was failing with errors such as

    ../../base/scoped_observer.h: In instantiation of ‘void ScopedObserver<Source, Observer>::RemoveAll() [with Source = ui::MaterialDesignController; Observer = ui::MaterialDesignControllerObserver]’:
    ../../base/scoped_observer.h:26:14:   required from ‘ScopedObserver<Source, Observer>::~ScopedObserver() [with Source = ui::MaterialDesignController; Observer = ui::MaterialDesignControllerObserver]’
    ../../chrome/browser/ui/views/frame/browser_frame.h:156:24:   required from here
    ../../base/scoped_observer.h:45:20: error: invalid use of incomplete type ‘class ui::MaterialDesignController’
           sources_[i]->RemoveObserver(observer_);
           ~~~~~~~~~~~~~^~~~~~~~~~~~~~

which likely comes from libstdc++'s std::vector::operator[] needing more
than a forward declaration to work.

Bug: 819294
Change-Id: Iac577346cc706713a60d8cd0aa205bd14a0b7b5a
Reviewed-on: https://chromium-review.googlesource.com/c/1273745
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Commit-Queue: Raphael Kubo da Costa (CET) <raphael.kubo.da.costa@intel.com>
Cr-Commit-Position: refs/heads/master@{#598398}
2 files changed