"You are one of our top candidates." How many candidates are there likely to be?
I wouldn't necessarily read anything into this. 

Often times there are a number of applications which might be reviewed. (For an open PhD position in my group, I might interview anywhere from three to six candidates, depending on the strength of the overall candidate pool.) 

Two weeks to go through evaluations of a number of different packages, including reviewing code and contacting references, is not unusual. Not only that, there's always the possibility that the person conducting the review has had other things come up in the interim (work commitments, vacations, or health issues, for instance).

I would wait a few more weeks, if possible, before politely inquiring about the status of your application. (For example, "I haven't heard back from you in several weeks. Could you please inform me of the status of my application?")