mx: that's exactly how LyX (and LaTeX for that matter) works: you create a class file that provides
domain-specific semantic markup such as "Table of ingredients", and that appears as the actual object you create
in the editor. Even MS Word allows you to create styles with semantic naming etc.
Sure, LyX is clunky in places (and the continued lack of character styling is embarrassing) but the point is your suggestions are far from a new idea. The tools just need improvement, that is all.
And by the way, LyX has been Qt-ified
and Aqua-fied for quite some time.