(#69) Fix issue with props getting polluted

Because `getDefaultProps` is cached once per component types, mutable
types like arrays and objects that are then modified by the components
were having their values shared across different components. This just
makes those values not set by getDefaultProps