Lua is a nice language, extremely simple and elegant syntax. My one pet peeve with it is its practice of treating any variable not explicitly defined as local as a global variable, which leads to difficult-to-debug problems involving variable leaks and global namespace collisions.
It's not really suitable for developing a full-fledged application in, however. It's designed first and foremost as a scripting language, and is really intended to be embedded in another executable that provides an interface (in fact the language itself bends over backwards to make it easy to embed). There are some ways to run it standalone, and a couple of UI libraries like Qt/GTK bindings, but those have a much steeper learning curve than the language itself, and in my experience tend to be fragile and a little clunky.
It's also not very fast. While it's probably comparable to Python and other interpreted languages without a JIT, it really suffers if you have to do anything compute-heavy in it. Most environments that use it punt and provide native code callable from Lua to do the heavy lifting. It's also not thread-aware, which is problematic if you're trying to write an entire application in it and still have the UI be responsive.
Now, a lot of those problems you're going to have with HTML5+JS as well, but at least you get a cross-platform UI for free without having to do any extra work. Lua and Javascript's approach to object-orientation is actually fairly similar, in that neither are very rigid frameworks.
You should write the next hero planner in Scala