Fixed all Components

Made all Components immutable (like they should be) and added/fixed JavaDoc.
Also created constants for Component types with a limited amount of states,
this allows Components to be shared between Entities (because Components are immutable).