Add component.json; fixes #25.