Is Streaming API supported in Lightning components?
I have it working with a lightning component. The deal with the $Api variable is that it is not available. BUT in my component I have a up:inputText hidden via CSS that I store the sessionId in. In my doInit function I call some apex to return UserInfo.getSessionId()
I am working on a blog entry for that now as well but it's not complete as I just got it working on Monday and have been on vacation.
Also had issues updating some of my components but reverted to document.getElementById to locate and update values. Jquery wasn't working for finding and setting the text and aura:id doesn't seem to support dynamic expressions to make them unique. There's a globalId that you can use but that didn't do it either. In the end it was a combo of lightning and HTML that did it.
As an interim have you considered a composite App Builder app?
App builder has the ability to include a Visualforce page. In certain use cases, you could rely upon the VF page component in App Builder to surface the data pushed out by Streaming API. While the rest of the app could be built using Lightning Components.
I don't know what your app is, or if this would work for you, but for some, at least while we wait for more features to get brought on line for LC, this could be a solution.