Le textarea non permettono la formattazione di testo al loro interno.
Possono fungere da input di testo formattato in HTML solo se l'utente conosce ed inserisce gli appositi tag HTML.
Ma è una soluzione rischiosa, perché potrebbe distruggere il layout della tua pagina. Immagina se inserisse un semplice
</TD></TR></TABLE>
nel caso in cui il contenuto della textarea venisse poi collocato in una tabella, oppure immagina se dimenticasse semplicemente di chiudere un tag.
Infatti su tutti moduli di input degli utenti (segnalazioni, votazioni, email non html, eccetera) si esegue sempre una funzione di string replace lato server, neutralizzando i caratteri potenzialmente dannosi per la pagina su cui verranno richiamati (o anche per la sicurezza del database stesso).
Questi caratteri dannosi vengono sostituiti per esempio con le relative entità HTML (vedi qui) oppure con i relativi codici esadecimali.
Il sistema più diffuso per la formattazione del testo tipo WYSIWYG è quello di un IFRAME in modalità DesignMode impostato ad On, di cui hai un ottimo esempio su questo link proprio di html.it.
Se da questo script vuoi eliminare funzioni che non utilizzeresti, cancella semplicemente gli input di tipo select delle formattazioni che non ti servono, no?
Il Javascript è finora l'interprete lato client più diffuso sui browser, per cui non avresti problemi di incompatibilità. Al limite puoi usare anche il VBscript.