makara 0.2.11

A Bevy UI simplifier that make it easy to build GUI app with bevy engine.
Documentation
### Understanding the structure of widgets in Makara


In **Makara**, creating a widget can be done by calling its pre-defined macro.
A button can be created using `button_!` and a text can be created using `text_!`.

Each widget macro is splitted into 3 parts:

1. Properties
2. Event handlers
3. Children array

For example,
```rust
scroll_!( 
    // properties
    background_color: "red",
    border_radius: px(5),
    margin: px(5),
    padding: px(10),
    
    // event handlers (if there's any)
    on: |_scrolling: On<Scrolling>| {},
    on: |_built: On<WidgetBuilt>| {},
    
    // children array
    [
        button_!("Click me", background_color: "blue"),
        text_!("This is some text")
    ]
);
```

For event handlers, you can also create functions for it to make it cleaner.
```rust
scroll_!( 
    // properties
    background_color: "red",
    border_radius: px(5),
    margin: px(5),
    padding: px(10),
    
    // event handlers (if there's any)
    on: handle_scrolling,
    on: handle_widget_built,
    
    // children array
    [
        button_!("Click me", background_color: "blue"),
        text_!("This is some text")
    ]
);

fn handle_scrolling(_scrolling: On<Scrolling>) {
    // do something
}

fn handle_widget_built(_built: On<WidgetBuilt>) {
    // do something
}
```