Makes View::focusable() return last value supplied to SetFocusable()

As focusable() may effect the preferred size it is important that it
returns the last value passed to SetFocusable() rather than if the
view is focusable right now. Otherwise focusable() could change value
based on enabled or visible state, resulting in the preferred size
bouncing around.

I'm also making focusable() protected as it's really only subclasses
that should care about it. Especially since we also have
IsFocusable().

BUG=330696
TEST=covered by test
R=ben@chromium.org

Review URL: https://codereview.chromium.org/129863002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244282 0039d316-1c4b-4281-b951-d872f2087c98
Mark EventToTypeString with ALLOW_UNUSED to fix the Official gtk build.

It's only used inside an UNSHIPPED_TRACE_EVENT1(), which causes:

../../base/message_loop/message_pump_gtk.cc:17:13: error: unused function 'EventToTypeString' [-Werror,-Wunused-function]

Review URL: https://codereview.chromium.org/131323005

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244283 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 244283