You seem to be asking for contradictory things. For instance, low runtime overhead implies manual memory management but running within a VM implies automatic memory management. What about a "bundled" runtime like Go, some Lisps, or Ocaml? Lua?
Your c) needs refinement. It's not just memory ownership but also idiomatic use of the language. Heavy on objects? Functions? Mutable or immutable (don't forget strings)?
I think the memory management issue can be addressed by using reference counting semantics in the language (wrt aliasing, scoping and weak vs strong references). That maps well to both manual management and garbage collection.
Some more searching the web lead me to Haxe. I'll have a look at how they handle these issues.
Your c) needs refinement. It's not just memory ownership but also idiomatic use of the language. Heavy on objects? Functions? Mutable or immutable (don't forget strings)?