Could a bitcoin client be done in javascript,
Yes.
http://Blockchain.info/wallet and Strongcoin are two Javascript-based wallets that do all the crypto in Javascript on the browser.
http://brainwallet.org/#tx would be such a client too I suppose. They do send the transaction to a hosted service which then broadcasts the transaction.
using WebGL to access the GPU for processing/mining?
As a neat idea, yes that could be (and has been) done.
As a business proposition. Bad idea. Read up on ASICs.