Allow user to establish state in CardWithList

As pointed out in issue #194, calling init() inside of the constructor does not allow the user to create state for their header or card.  

I've removed the call to init() in the constructor and changed the visibility of the init() method to public.