Power of a microcontroller, but with more memory - what fulfils this need?
Have a look at the mbed boards. The mbed platform offers an incredibly powerful and easy to use C++ API and cloud-based development environment (libraries also available offline) for programming many ARM based boards. I highly recommend the FRDM-KL25Z board. For more power consider the FRDM-K64F and ST-NUCLEO-F411. Many more boards there. Some of them have more than 1MB of Flash and 128KB of RAM!!! For bare metal development that's a tonne!


Many of the solutions mentioned already are also awesome:


Use an ATMega1284p. That part has Arduino IDE support via the sanguino project (simply add this link "https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json" to the boards manager in the most recent Arduino IDE) The ATMega1284p has 16KB of RAM, 128KB of Flash and even comes in a 40-PDIP package.
Use the USBTeensy 3.0. One of the most popular and incredibly powerful  ARM based bare metal embedded platform with excellent Arduino IDE support. You can get the purple OSHPark version for $17. Thats $2-3 cheaper than the original.
Consider using some of the Newer Arduino based ARM platforms such as


Arduino Zero
Arduino Due
Arduino 101 (Intel based)
Arduino MKR1000 (Arduino Zero + WIFI not in production yet)

Don't forget the Spark Core. Its an ARM Cortex-M3 with a WiFi chip and an Arduino compatible API. Costs under $20
OS/Linux based boards such as Raspberry Pi e.t.c are also great but they are totally different beasts. Familiarity with the Linux OS running on them is necessary. Also these boards need to run your application on top of Linux. So your application might not be able to fully leverage the hardware resources/performance of the SOC. They're also not real-time i.e. tasks that need precise timing might not be well suited to run on an SBC. On the upside they run freakin Linux! This means you can run your apps in many programming languages, leverage multiple libraries, configure servers and do a lot of really cool stuff that you simply can't do on bare metal platforms.
The ESP8266 is a great platform and is supported by the Arduino IDE. Many of the breakout boards come with 4MBytes of Flash Memory.  That's tonnes of program Memory. Not really sure how that might not be enough for any application. But if that's the case wait for the ESP32. An even more powerful WiFi SOC from espressif with more IO, WiFi, BLE, two cores and more RAM and very likely will be able to support larger SPI Flash for program memory.


Hope this helps