Create weapons without requiring explicit game and map
Fixed player color generator and fov
Started refactoring weapons into components; using the type-object pattern for different kinds of weapons