Introduce Navigator interface and BaseNavigationBar abstraction

Preliminary commit as NX 3.0 is prepared ;D

PS2: Bring in all the things

PS3: make all the things work
NxBarView stable. Need to work on switching between normal and nx.
No implementation yet.

PS4: Fix DelagateHelper initialization by using invisible view stubs
     Still get wonk but only on first boot. Likely need actual
     drawables for proper measuring. This was derping SearchPanel
     on keyguard.

PS5: use camera and search flags to determine nx or keyguard visibility
     Seems to clear up wonky search panel on first boot

PS6: Switch navbar styles, nx or regular. the handler feels a bit
     hacky or racey. we gotta do better.

PS7: fix layout derp killing vertical bars. tweak postDelayed up a bit
     for adding a new navbar window. Stable on phones. still need to do
     layout for tablet/phablet

PS8: tablet/phablet layout and cleanup

PS9: fix xml mismatched tag, implement don't animate logo
     clear up NxLogoView. actually, we may not even need
     that class

PS10: implement don't show logo. Logo still needs to animate
      in and out when user makes selection

PS11: Cleanly fade in/out on user show/hide logo
      Properly set logo alpha using bar transitions

PS12: fix logo visibility/alpha handling for reals now. For reals

PS13: Abandon all NX visualization for now. the only way we can
      do what we want is to directly draw to canvas. Everything
      else ends up in wonk. So scrap all of it for now. BTW thats
      why trails works so well, direct double buffer draw ftw!

PS14: Abstractify bar navigation!
      Introduce BaseNavigationBar abstract class. It extends LinearLayout
      and implements Navigator. Most of the interface inplementation is
      abstractly implemented and remainding required implementation is left
      to subclasses, namely NavigationBarView and NxBarView. The idea here
      is to bury the core necessary bar code we can't get rid of. That way
      in the subclasses, we can focus on feature specific code.
      NavigationBarView extends BaseNavigationBar here, NxBarView doesn't yet.

PS15: NxBarView extends BaseNavigationBar
      I'm just about done here. Internal bar stuff and keyguard handling
      are now separate from navigation implementations.

PS16: Finalize abstraction, import and code cleanup, copyright updates

Change-Id: Ib760a62a66a9a39117bc8145ab60ae8126a1fac4