From what you've said of your skills, you're already better than most freshman CS majors I've run into. I'd suggest math and/or CS at university. Professional coding may be "just another job" that isn't as much fun as hobby coding, but it's still more fun than another job, if you like programming.

Pursue what you love, and apply yourself. All else shall follow.