Towards Practical Stochastic Computing Architectures for Emerging Applications