You can sort of do a lot of this already no?
Dark theme - OK, you can't just select a theme as such, but you can change the colours used in the code editor. Although, it only seems to be the actual script editor you can change, not all the other surrounding windows. Which is a bit rubbish. I'd agree, a selection of themes would be better.
Debugging/highlight - it already does? When it hits the break point, I can hover over any variable in my script (don't have to create a watch for it) and it shows me the current value? Won't happen outside runtime of course as nothing will have a value.
Object Refs - If I type in an object, I get a context menu with all available properties and methods ("functions" isn't a good word to use here as it doesn't actually mean anything here). If you type a property/method it doesn't recognise, the context menu vanishes. Not sure that flagging up unrecognised ones and interrupting your typing is such a good idea. When you start interacting with a property, it can go several levels deep. You tend to lose the context menu in these case, especially if some parts of it require parameters. If it started interrupting my typing due to this, it would get pretty annoying. For me, the current system is fine.