Changed it so that TaskComponents paint themselves

Now, calendarPanel will create them with the frame that it wants them
to be displayed at, and then it will tell them to paint, at which
point, they will paint themselves on the specified graphics context.