Layout that does not modify a components top or left positions
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     Gets a complete copy of this component.
Returns
| A new component, similar to this one. | 
                                                                                                                                                   Returns true if the given component is a child of this component, false otherwise.
Parameters
 | The child component to check against. | 
Returns
| Is the child component a child of this component? | 
                                                                                                                   disposeComponent():Void        
                                        Removes this component from memory.
Calling methods/using fields on this component after calling disposeComponent
is undefined behaviour, and could result in a null pointer exception/x is null exceptions.
                                                                                                                   fadeIn(onEnd:():Void = null, show:Bool = true):Void        
                                        Applies a fade effect which turns this component from invisible to visible.
Parameters
onEnd:():Void = null  | A function to dispatch when the fade completes | 
show:Bool = true  | When enabled, ensures that this component is actually visible when the fade completes. | 
                                                                                                                   fadeOut(onEnd:():Void = null, hide:Bool = true):Void        
                                        Applies a fade effect which turns this component from visible to invisible.
Parameters
onEnd:():Void = null  | A function to dispatch when the fade completes | 
show:Bool = true  | When enabled, ensures that this component is actually invisible when the fade completes. | 
                                                                                                                   findComponents<T>(styleName:String = null, type:Class<T> = null, maxDepth:Int = 5):Array<T>        
                                        Finds all components with a specific style in this components display tree.
Parameters
styleName:String = null  | The style name to search for | 
type:Class<T> = null  | The component class you wish to cast the result to (defaults to null, which means casting to the default, Component type). | 
maxDepth:Int = 5  | how many children "deep" should the search go to find components. defaults to 5. | 
Returns
| An array of the found components. | 
                                                                                                                   findComponentsUnderPoint<T>(screenX:Float, screenY:Float, type:Class<T> = null):Array<
Component>        
                                         Lists components under a specific point in global, screen coordinates.
Note: this function will return *every single* components at a specific point,
even if they have no backgrounds, or haven't got anything drawn onto them.
Parameters
screenX:Float  | The global, on-screen x position of the point to check for components under | 
screenY:Float  | The global, on-screen y position of the point to check for components under | 
type:Class<T> = null  | Used to filter all components that aren't of a specific type. null by default, which means no filter is applied. | 
Returns
| An array of all components that overlap the "global" position (x, y) | 
                                                                                                                   hasComponentUnderPoint<T>(screenX:Float, screenY:Float, type:Class<T> = null):Bool        
                                        Finds out if there is a component under a specific point in global coordinates.
Parameters
screenX:Float  | The global, on-screen x position of the point to check for components under | 
screenY:Float  | The global, on-screen y position of the point to check for components under | 
type:Class<T> = null  | Used to filter all components that aren't of a specific type. null by default, which means no filter is applied. | 
Returns
| true if there is a component that overlaps the global position (x, y), false otherwise. | 
                                                                                                                   lockLayout(recursive:Bool = false):Void        
                                                                                                              ready():Void        
                                        Tells the framework this component is ready to render
*Note*: this is called internally by the framework
                                                                                                                                                   Sets the index of child under this component, essentially moving it forwards/backwards.
Parameters
 | The child to set the index of. | 
index:Int  | the index to set to. | 
Returns
                                                                                                                   unlockLayout(recursive:Bool = false):Void        
                                                                                                              walkComponents(callback::
Component->Bool):Void        
                                         Iterates over the children components and calls callback() on each of them, recursively.
The children's children are also included in the walking, and so are those children's children...
Parameters
 | a callback that receives one component, and returns whether the walking should continue or not. | 
                                                                                                                   pauseEvent(type:String, recursive:Bool = false):Void        
                                                                                                              resumeEvent(type:String, recursive:Bool = false):Void