For better gaming experience, I would upgrade the GPU. Gtx 950 is a pretty capable card (depend on the games and setting you play at), your i3 can bottleneck a lot of high-end cards. i3 is probably limit you gtx 970 or R390. CPU last you much much longer than GPU, as GPU get refreshed every year that outperforms its predecessor much more than CPU does. I say go for an upper range i5 and use the dollars you saved on a GPU upgrade later on (if you can squeeze more out of your 950 by overclocking it a bit.
Since Nvidia's new cards have just recently been announced, price drops on the older high-end cards may be just around the corner. You should wait until the new cards are available at your local retailer and grab a bargain on the older high-end card.