About the only thing I've seen that could do that is a Chumby. I've never used one myself, but I believe it's effectively "fully" programmable: http://www.chumby.com/
EDIT: Looks like the new one does. Now I want one :)
EDIT: Looks like the new one does. Now I want one :)