Interfaces for creating new layout algorithms.

### Create a new Layout

1. Create a new module and set `LayoutAPI` and `GraphAPI` as dependencies.
2. Create a new builder class by implementing `LayoutBuilder`
3. Add @ServiceProvider annotation to your builder, that it can be found by the system. Set `LayoutBuilder` as the annotation parameter.
4. Create a new class that implements `Layout`. Set instantiation code in `LayoutBuilder.buildLayout()`.