Here's a stretch on the veggie thing. I've read that for a quick and easy heat pad, use a potato. A potato heated in the microwave will hold the heat for a long time. Of course it's too hot to put on your skin, so a veggie-shaped knitted container would be good, as long as it opened, maybe with a drawstring or something. You could make one to hold an ice-pack, too.
I don't know what the commercial ones contain that you can put in the microwave that heat up. If you could find out and they're available to the public, you could sew them in a cloth bag, maybe, and then knit a cover.
Just a thought off the top of my head.