Add VertexAttribute#type, #normalized, #hashCode(), .ColorPacked()

Small change removing the branch on `Usage.ColorPacked` when binding the vertex attribute. I've added two `public final` members to `VertexAttribute` named `type` and `normalized` to match the arguments of `glVertexAttribPointer`. The value of these members depend on the specified `usage`, keeping consistency with current behavior.

I noticed a small inconsistency:
`VertexAttribute.Color()` results in `ColorPacked`
`VertexAttribute.ColorUnpacked()` results in `Color`
Therefore I deprecated `VertexAttribute.Color()` and introduced `VertexAttribute.ColorPacked()`

Also added `VertexAttribute#hashCode()` to be consistent with `#equals()`