Hello Caross,
Being the father of two small boys, I can understand your concerns. Myself, I liken this to "How to limit what television broadcasts my children view" -and the best answer is really to be sitting with your child when s/he is accessing the internet.
I understand, too, though, that this may not be the answer you're looking for. Not having had the experience of setting up something like this, my knee -jerk reaction would be to refer you to a widely -accepted solution such as
http://www.NetNanny.com. I've found a site at
http://internet-filter-review.toptenreviews.com/who is probably taking donations from the companies that they've reviewed, though they do seem to give a pretty good breakdown of what features each program /suite has. If you're using a traditional subscription -based AntiVirus Solution such as Norton or McAfee, it looks as thought they each offer a filtering product, and you may be able to bundle a monthly subscription fee with your AV solution.
Another option is if you happen to be running your own DNS server at home, you can just make lists (dis)allowing access to certain sites or IP ranges, though I'm sure that we'd find that keeping such a 'blacklist' current would be unwieldy. Much like gripping six dozen greased snakes.
Good Luck, and Please keep us informed of your progress or solutions! Very interesting topic, indeed.