Respecto a lo de un textarea para formatear texto hay dos que se utilizan muchísimo FCKEditor y TinyMCE. Ambos muy fáciles de utilizar y configurar. El segundo tal vez sea algo menos completo pero también algo más fácil de "instalar". Además, para temas de accesibilidad, basta crear un textarea y una línea javascript; si JS está habilitado se te mostrará el editor de texto con negrita, cursiva, alineación centrada.... etc, y si no hay JS habilitado se queda un simple textarea.