Add modifier keys to KeyboardKeyEventArgs

This PR implements key modifiers as properties in KeyboardKeyEventArgs. The modifiers mirror what is found in Windows.Forms:
```csharp
var gw = new GameWindow();
gw.KeyDown += (sender, e)
{
    Console.Writeline(e.Key);

    // New properties below:
    Console.WriteLine(e.Modifiers);
    Console.WriteLine(e.Alt);
    Console.WriteLine(e.Control);
    Console.WriteLine(e.Shift);

    // These modifiers make keyboard events more convenient:
    if (e.Key == Key.Enter && e.Alt)
    {
        gw.WindowState = WindowState.Fullscreen;
    }
};
```