Refactored Laser object and added more laser colors

The different segments of the Laser was handled by different ArrayLists to
save different values. For cleanliness, all values such as the location,
color, and whether the segment will be rendered or not has been placed
into a new object called LaserSegment. Now the Laser object only has a
single ArrayList of LaserSegments.