panel: Replace old panel with new Vala panel

This is only partly implemented right now, we have a base panel that
serves much of the same functionality as the previous one, but currently
has no applets (TODO)

This panel is much better than the previous iteration, and far more
maintainable too. (Win) This panel handles vertical sizing correctly
and will ensure content is restricted within the bounds of the
panels width. Positioning is correctly implemented, though specialised
applet support will be required for a vertical orientation, as
"shit will break (TM)"

Note to readers: This does not yet incorporate GSettings, nor is it
usable yet by a single soul (empty panel) and does not yet include
the GNOME Panel theme integration, due to aforementioned lack of
applets.
Require libpeas-1.0 to build budgie-panel
Introduce "budgie-plugin"

BudgiePlugin is to be the base class for all plugins/applets within Budgie,
and any application seeking to use this should in fact link against the
library, or use a dynamic language. Soon we'll follow up with a Gir and
autogenerated vapi for installation
budgie-plugin: Add+install Gir, Typelib, vapi to host for plugin devving

We now ship our header so that developers can create a plugin for Budgie,
currently limited to the panel, in any GIR capable language, including C.
A vapi file is also shipped for Vala developers, and the typelib/Gir
combination will enable Python, JS, etc, developers to create plugins
too.
Add new pkgconfig file for budgie (version lock to "1" in suffix)
Rewrite Clock Applet applet as Vala plugin
Rewrite IconTasklist as a Vala plugin
Add intial support for orientation-aware applets
panel: Lock position to bottom edge (tired commit was tired)
panel: Drop default size by 5 pixels
Panel: Use a better amount of margin for widget area
panel: Incorporate classes for all positions and style icons accordingly
data: Add "left" and "right" to panel locations
panel: Update location based on GSettings preference
data: Add key for future (not implemented) gnome-panel theme work
widgets: Always queue_draw so tail data is valid on re-present
Rewrite the MenuApplet as a Vala plugin
panel: Convert panel to an application (single instance awesomeness)
Implement --menu and ActionType.INVOKE_MAIN_MENU

These enable us to now respond to being invoked as "budgie-panel --menu"
as previously, which offers integration into the desktop by means of the
"panel-main-menu" keybinding in Mutter. Other applets in the future will
also gain access to these systems, once we move past the "hardwire" stage.
Add gvc-1.0.vapi - ages of testing but it seems to work ok now

This was initially autogenerated but I needed to bully it into including
pulse headers first - note this is for the git submodule that we utilise
in this repo