Bro, I know exactly what your dealing with!
I'm having the exact same dilemna. I have already posted a question similar to this and I have gotten a variety of answers. For the most part: Yea the guy is expected to be the one to initiate the conversation. Other guys advise texting or I.M.'ing NOT every day but leaving a gap in between texts and I.M.'s of a couple days (2-3 Days) Randomize it don't just make it 2 days make some gaps 3 days maybe even 4 days, sometimes texting two days in a row is acceptable (But don't overdo it!). Think about it: If you text her everyday she may get annoyed or irritated, whereas if you don't do it as often she'll start to wonder why you haven't texted her and then when she does get a text from you it will be that much more special to her.
To initiate conversation try something simple: "Hey, how was your day?", or bringing up a previous conversation. For example: if she was talking about how hard a homework assignment was, text her asking how her homework went.
Now about the line between being needy, here is my advice:
If she were to ask you if you like any girls, be coy. Reply with "I have my eyes on one" and if she asks who: be truthful but play it off being cool. So if you tell her you like her and the next time you see her DONT let it get awkward, act as a friend normally would: If you guys hug, DONT all of a sudden just stop hugging. Also, don't start pouring out your feelings for her unless you two are having a heart to heart, pouring out your feelings could drive her away.
Hope this helps, Good luck Bro!