Merge pull request #2 from matiaslina/master

Panel: Add click functionality on the application buttons
panel: Consume GdkEvent in button clicked event

If we do not consume the GdkEvent, then the GtkToggleButton will still
process the event, which is not what we want.

This commit also renames the callback, and makes some style fixes to
be consistent with the rest of Budgie.
panel: Ensure an empty border is present for normal buttons

When going through active and normal GtkButton's on our panel, there
was a sizing issue as one state had a border, and the other did not.
This commit rectifies by giving both an empty border.
panel: Fix Menu button theming (remove background)
panel: Ignore "skip" windows in IconTasklist
panel: Fix location if window resizes
popover: Do not include margin in windows X position
panel/applets: Make MenuWindow non-resizable
session: Convert to use GApplication

Using GApplication ensures one unique instance of the session, and will allow
us to send messages to shut the session down.
session: Allow logout via CLI usage

Any user now executing budgie-session --logout, will force the desktop
to be logged out immediately. This will likely be wrapped with a UI in
the future to prevent automatic requests, and the PID handling will
also have to be updated.
panel/icon-tasklist: Fix active window logic

We now ensure no toggles are active when all windows are minimized.
panel: Add logout option to menu (temporary)
panel: Fix tasklist icon sizes to be static

This also ensures more icons are loadable by the panel
panel: Begin implementing panel placement

The panel is now internally capable of being placed at either the top
or bottom of the screen. BudgiePopover now assumes (by Y placement)
whether to show a tail on the top or bottom of itself, depending
on if its at the top or bottom of the screen.

These are large assumptions, but will be optimized in future to enable
placement around a widget, etc, not a screen edge.
data: Add BudgiePanel glib schema
panel: Allow panel position change via GSettings
panel: Plug potential GSettings leak
panel: Enable user's CSS theming

This is a fairly large overhaul of the current rendering code and such,
enabling the user's theme to override the appearance of most elements of
the Budgie Panel.

Consult budgie-panel.h for a list of class names, as well as the default
theme implementation. Note this commit now enables the selection line
to be rendered in the correct position for the IconTasklist, relative
to panel placement on screen.
panel: Rendering and margin fixes
Update README.md